﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

using System.ComponentModel;

namespace BingMapBrowser.ViewModel
{
	public class ViewModelBase : INotifyPropertyChanged
	{
		public event PropertyChangedEventHandler PropertyChanged;

		protected void OnPropertyChanged(string prop)
		{

			if (PropertyChanged == null) return;

			if (Deployment.Current.Dispatcher == null || Deployment.Current.Dispatcher.CheckAccess())
			{
				PropertyChanged(this, new PropertyChangedEventArgs(prop));
			}
			else
			{
				Deployment.Current.Dispatcher.BeginInvoke(() =>
					PropertyChanged(this, new PropertyChangedEventArgs(prop)));
			}
		}
	}
}
